home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / 173autl.zip / RECONFIG.BAS < prev    next >
BASIC Source File  |  1990-08-26  |  45KB  |  1,367 lines

  1.    DECLARE FUNCTION StrTok$(Source$,Delim$)
  2.    DECLARE SUB box (ybox%, xbox%, boxrows%, boxcols%, style%)   'draw a box
  3.    DECLARE SUB Line17 (HelpText$)
  4.    DEFINT A-Z
  5.    CLEAR
  6.    CLS
  7.    DIM FILES.FUNCTION(8)                         ' file menu security
  8.    DIM GLOBAL.FUNCTION(4)                        ' Global commands security
  9.    DIM HELP$(9)                                  ' Help file names
  10.    DIM LIBRARY.FUNCTION(7)                       ' Library commands security
  11.    DIM MAIN.FUNCTION(18)                         ' Main menu security
  12.    DIM MENU$(6)                                  ' Menu file names
  13.    DIM SYSOP.FUNCTION(7)                         ' Sysop menu security
  14.    DIM DNLD$(99)                                 ' Download Sub-Dirs
  15.    DIM UTILITY.FUNCTION(12)                      ' Utility menu security
  16.    CONST FALSE = 0
  17.    CONST TRUE = NOT FALSE
  18.    KEY OFF
  19.    LOCATE ,,0
  20.    Parms = FALSE
  21.    Ver$ = " 14.1D 15.1A 15.1B 15.1C 16.1A 17.1A 17.1B 17.1C 17.1D 17.2A 17.2B 17.3  "
  22.  
  23.    IF COMMAND$ = "" THEN _
  24.       GOTO CopyRight
  25.    Parms = 1
  26.    Delim$ = " "
  27.    InputFileName$ = STRTOK$(COMMAND$,Delim$)
  28.    IF InputFileName$ = "" THEN _
  29.       GOTO CopyRight
  30.    InputVersion$ = STRTOK$("",Delim$)
  31.    IF LEN(InputVersion$) < 4 THEN GOTO CopyRight
  32.    InputVersion$ = UCASE$ (InputVersion$)
  33.    Version = INSTR(Ver$, " " + InputVersion$ + " ")
  34.    IF Version = 0 THEN GOTO CopyRight
  35.    Version = INT((Version-2)/6)+1
  36.    OutputFileName$ = STRTOK$("",Delim$)
  37.    IF OutputFileName$ = "" THEN _
  38.       GOTO CopyRight
  39.    Parms = TRUE
  40. '
  41. ' ╔══════════════════════╗
  42. ' ║  COPYRIGHT GOES HERE ║
  43. ' ╚══════════════════════╝
  44. '
  45. CopyRight:
  46.    CALL box(1,5,18,69,2)
  47.    FOR I = 2 to 15
  48.       LOCATE I,7
  49.       READ Temp$
  50.       PRINT Temp$
  51.       NEXT
  52.    IF Parms = FALSE THEN CALL Line17("Press any key to continue")
  53.    IF Parms = 1 THEN
  54.       Parms = FALSE
  55.       CALL Line17("ERROR IN INPUT PARAMETERS -  Press any key to continue")
  56.    END IF
  57. 120 REM
  58.    IF Parms = FALSE THEN
  59.       A$ = INKEY$
  60.       IF A$="" GOTO 120 ELSE GOTO 130
  61.    END IF
  62.    TEMP = (VAL(RIGHT$(TIME$,2))+4) MOD 60
  63.    WHILE VAL(RIGHT$(TIME$,2)) <> TEMP
  64.    WEND
  65. 130 REM
  66.    LOCATE 1,1
  67.    FOR I = 3 to 17
  68.       LOCATE I, 6
  69.       PRINT SPACE$(67);
  70.    NEXT I
  71.    LOCATE 4,12
  72.    PRINT "Name of INPUT FILE:"
  73.    LOCATE 5,9
  74.    PRINT "Version of INPUT FILE:"
  75.    LOCATE 6,11
  76.    PRINT "Name of OUTPUT file:"
  77.    IF Parms = FALSE THEN GOTO 150
  78.    LOCATE 4,32
  79.    PRINT InputFileName$
  80.    LOCATE 5,32
  81.    PRINT InputVersion$
  82.    LOCATE 6,32
  83.    PRINT OutputFileName$
  84.    GOTO 180
  85. '
  86. ' ╔═════════════════════════════╗
  87. ' ║ GET THE INPUT FROM THE USER ║
  88. ' ╚═════════════════════════════╝
  89. '
  90. 150 CALL Line17("Enter the name of your existing RBBS-PC CONFIGURATION FILE")
  91.    LOCATE 4,32
  92.    PRINT SPACE$(40);
  93.    LOCATE 4,31
  94.    INPUT " ", InputFileName$
  95.    IF LEN(InputFileName$) < 1 THEN
  96.       PRINT CHR$(7);
  97.       GOTO 150
  98.    END IF
  99. 160 CALL Line17("Valid versions: 14.1D, 15.1A/B/C, 16.1A, 17.1A/B/C/D 17.2A/B, 17.3")
  100.    LOCATE 5,32
  101.    PRINT SPACE$(40);
  102.    LOCATE 5,31
  103.    INPUT " ", InputVersion$
  104.    IF LEN(InputVersion$) > 5 THEN
  105.       PRINT CHR$(7);
  106.       GOTO 160
  107.    END IF
  108.    InputVersion$ = InputVersion$ + SPACE$(5 - LEN(InputVersion$))
  109.    InputVersion$ = UCASE$ (InputVersion$)
  110.    Version = INSTR(Ver$, InputVersion$)
  111.    IF Version = 0 THEN
  112.       PRINT CHR$(7);
  113.       GOTO 160
  114.    END IF
  115.    Version = INT((Version-1)/6)+1
  116. 170 CALL Line17("Enter the name of the output RBBS-PC version 17.3A FILE")
  117.    LOCATE 6,32
  118.    PRINT SPACE$(40);
  119.    LOCATE 6,31
  120.    INPUT " ", OutputFileName$
  121.    IF LEN(OutputFileName$) < 1 THEN
  122.       PRINT CHR$(7);
  123.       GOTO 170
  124.    END IF
  125.    CALL Line17("")
  126. 180   LOCATE 8,9
  127.    INPUT "Is everything correct (Y or N)";QUERY$
  128.    IF UCASE$ (LEFT$(Query$,1)) <> "Y" THEN GOTO 150
  129.    ON ERROR GOTO ErrorHandler
  130. 1000  OPEN "I",#1,InputFileName$
  131. '
  132. ' ╔════════════════════════════════════════════════════════════╗
  133. ' ║ READ IN THE PARAMETERS FROM AN EXISTING "RBBS-PC.DEF" FILE ║
  134. ' ╚════════════════════════════════════════════════════════════╝
  135. '
  136. 1010  LOCATE 10,9
  137.       PRINT "READING DATA....";
  138. '
  139. ' ╔═════════════════╗
  140. ' ║ READ INPUT FILE ║
  141. ' ╚═════════════════╝
  142. '
  143. ReadDef:
  144.    IF Version >= 6 THEN INPUT #1,CONFIG.FILE.VER$
  145.    INPUT #1,DOWNLOAD.DRIVES$, _
  146.             SYSOP.PASSWORD.1$, _
  147.             SYSOP.PASSWORD.2$, _
  148.             SYSOP.FIRST.NAME$, _
  149.             SYSOP.LAST.NAME$, _
  150.             REQUIRED.RINGS, _
  151.             START.OFFICE.HOURS, _
  152.             END.OFFICE.HOURS, _
  153.             MINUTES.PER.SESSION!, _
  154.             MAX.ALLOWED.MSGS.FRM.DEF, _
  155.             ACT.MNTHS.B4.DELETING, _
  156.             UPLOAD.DIRECTORY$, _
  157.             EXPERT.USER, _
  158.             ACTIVE.BULLETINS, _
  159.             PROMPT.BELL, _
  160.             PCJR, _
  161.             MENUS.CAN.PAUSE, _
  162.             MENU$(1), _
  163.             MENU$(2), _
  164.             MENU$(3), _
  165.             MENU$(4), _
  166.             MENU$(5)
  167.  
  168.    IF Version >= 4 THEN INPUT #1,MENU$(6)
  169.  
  170.    INPUT #1,CONFERENCE.MENU$, _
  171.             CONFERENCE.VIEWER.SEC.LVL, _
  172.             WELCOME.INTERRUPTABLE, _
  173.             REMIND.FILE.TRANSFERS, _
  174.             PAGE.LENGTH, _
  175.             MAX.MESSAGE.LINES, _
  176.             DOORS.AVAILABLE, _
  177.             MO$
  178.  
  179.    INPUT #1,MAIN.MESSAGE.FILE$, _
  180.             MAIN.MESSAGE.BACKUP$, _
  181.             CALLERS.FILE$, _
  182.             COMMENTS.FILE$, _
  183.             MAIN.USER.FILE$, _
  184.             WELCOME.FILE$, _
  185.             NEWUSER.FILE$, _
  186.             DIRECTORY.EXTENTION$, _
  187.             COM.PORT$, _
  188.             BULLETINS.OPTIONAL, _
  189.             USER.INIT.COMMAND$, _
  190.             RTS$, _
  191.             DOS.VERSION, _
  192.             FG, _
  193.             BG, _
  194.             BORDER, _
  195.             RBBS.BAT$, _
  196.             RCTTY.BAT$
  197.  
  198.    INPUT #1,OMIT.MAIN.DIRECTORY$, _
  199.             FIRST.NAME.PROMPT$
  200.  
  201.    IF Version = 1 THEN
  202.       INPUT #1,HELP$(1), _
  203.                HELP$(2), _
  204.                HELP$(3), _
  205.                HELP$(4), _
  206.                HELP$(5), _
  207.                HELP$(6), _
  208.                HELP$(7), _
  209.                HELP$(8), _
  210.                HELP$(9)
  211.    ELSE
  212.       INPUT #1,HELP$(3), _
  213.                HELP$(4), _
  214.                HELP$(7), _
  215.                HELP$(9)
  216.    END IF
  217.  
  218.    INPUT #1,BULLETIN.MENU$, _
  219.             BULLETIN.PREFIX$, _
  220.             DRIVE.FOR.BULLETINS$, _
  221.             MESSAGE.REMINDER, _
  222.             REQUIRE.NON.ASCII, _
  223.             ASK.EXTENDED.DESC, _
  224.             MAXIMUM.NUMBER.OF.NODES, _
  225.             NETWORK.TYPE, _
  226.             RECYCLE.TO.DOS, _
  227.             MAX.USR.FILE.SIZE.FRM.DEF, _
  228.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  229.             TRASHCAN.FILE$
  230.    INPUT #1,MINIMUM.LOGON.SECURITY, _
  231.             DEFAULT.SECURITY.LEVEL, _
  232.             SYSOP.SECURITY.LEVEL, _
  233.             FILESEC.FILE$, _
  234.             SYSOP.MENU.SECURITY.LEVEL, _
  235.             CONFMAIL.LIST$, _
  236.             MAXIMUM.VIOLATIONS, _
  237.             SYSOP.FUNCTION(1), _
  238.             SYSOP.FUNCTION(2), _
  239.             SYSOP.FUNCTION(3), _
  240.             SYSOP.FUNCTION(4), _
  241.             SYSOP.FUNCTION(5), _
  242.             SYSOP.FUNCTION(6), _
  243.             SYSOP.FUNCTION(7), _
  244.             PASSWORD.FILE$, _
  245.             MAXIMUM.PASSWORD.CHANGES, _
  246.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  247.             OVERWRITE.SECURITY.LEVEL, _
  248.             DOORS.TERMINAL.TYPE, _
  249.             MAX.PER.DAY
  250.    IF Version = 1 THEN GOTO READ.DEF.141D.ONLY
  251.  
  252.    INPUT #1,MAIN.FUNCTION(1), _
  253.             MAIN.FUNCTION(2), _
  254.             MAIN.FUNCTION(3), _
  255.             MAIN.FUNCTION(4), _
  256.             MAIN.FUNCTION(5), _
  257.             MAIN.FUNCTION(6), _
  258.             MAIN.FUNCTION(7), _
  259.             MAIN.FUNCTION(8), _
  260.             MAIN.FUNCTION(9), _
  261.             MAIN.FUNCTION(10), _
  262.             MAIN.FUNCTION(11), _
  263.             MAIN.FUNCTION(12), _
  264.             MAIN.FUNCTION(13), _
  265.             MAIN.FUNCTION(14), _
  266.             MAIN.FUNCTION(15), _
  267.             MAIN.FUNCTION(16), _
  268.             MAIN.FUNCTION(17)
  269.  
  270.    IF Version >= 4 THEN INPUT #1,MAIN.FUNCTION(18)
  271.  
  272.    IF Version < 5 THEN
  273.       INPUT #1,DUMMY$
  274.    ELSE
  275.       INPUT #1,MIN.NEWCALLER.BAUD
  276.    END IF
  277.  
  278.    INPUT #1,WAIT.BEFORE.DISCONNECT, _
  279.             FILES.FUNCTION(1), _
  280.             FILES.FUNCTION(2), _
  281.             FILES.FUNCTION(3), _
  282.             FILES.FUNCTION(4)
  283.    IF Version >= 5 THEN INPUT #1,FILES.FUNCTION(5)
  284.  
  285.    INPUT #1,FILES.FUNCTION(6), _
  286.             FILES.FUNCTION(7), _
  287.             FILES.FUNCTION(8), _
  288.             UTILITY.FUNCTION(1), _
  289.             UTILITY.FUNCTION(2)
  290.    IF Version >= 5 THEN INPUT #1,UTILITY.FUNCTION(3)
  291.  
  292.    INPUT #1,UTILITY.FUNCTION(4), _
  293.             UTILITY.FUNCTION(5), _
  294.             UTILITY.FUNCTION(6), _
  295.             UTILITY.FUNCTION(7), _
  296.             UTILITY.FUNCTION(8), _
  297.             UTILITY.FUNCTION(9), _
  298.             UTILITY.FUNCTION(10), _
  299.             UTILITY.FUNCTION(11), _
  300.             UTILITY.FUNCTION(12), _
  301.             GLOBAL.FUNCTION(1), _
  302.             GLOBAL.FUNCTION(2), _
  303.             GLOBAL.FUNCTION(3), _
  304.             GLOBAL.FUNCTION(4), _
  305.             UPLOAD.TIME.FACTOR!, _
  306.             COMPUTER.TYPE, _
  307.             REMIND.PROFILE, _
  308.             RBBS.NAME$, _
  309.             COMMANDS.BETWEEN.RINGS, _
  310.             MNP.SUPPORT, _
  311.             PAGING.PRINTER.SUPPORT$, _
  312.             MODEM.INIT.BAUD$
  313.    INPUT #1,TURN.PRINTER.OFF, _
  314.             DIRECTORY.PATH$, _
  315.             MIN.SEC.TO.VIEW, _
  316.             LIMIT.SEARCH.TO.FMS, _
  317.             DEFAULT.CATEGORY.CODE$, _
  318.             DIR.CATEGORY.FILE$, _
  319.             NEW.FILES.CHECK, _
  320.             MAX.DESC.LEN, _
  321.             SHOW.SECTION, _
  322.             COMMANDS.IN.PROMPT, _
  323.             NEWUSER.SETS.DEFAULTS, _
  324.             HELP.PATH$, _
  325.             HELP.EXTENSION$, _
  326.             MAIN.COMMANDS$, _
  327.             FILE.COMMANDS$, _
  328.             UTIL.COMMANDS$, _
  329.             GLOBAL.COMMANDS$, _
  330.             SYSOP.COMMANDS$
  331.    IF Version >= 4 THEN
  332.       INPUT #1,RECYCLE.WAIT, _
  333.             LIBRARY.FUNCTION(1), _
  334.             LIBRARY.FUNCTION(2), _
  335.             LIBRARY.FUNCTION(3), _
  336.             LIBRARY.FUNCTION(4), _
  337.             LIBRARY.FUNCTION(5), _
  338.             LIBRARY.FUNCTION(6), _
  339.             LIBRARY.FUNCTION(7), _
  340.             LIBRARY.DRIVE$, _
  341.             LIBRARY.DIRECTORY.PATH$, _
  342.             LIBRARY.DIRECTORY.EXTENTION$, _
  343.             LIBRARY.WORK.DISK.PATH$, _
  344.             LIBRARY.MAX.DISK, _
  345.             LIBRARY.MAX.DIRECTORY, _
  346.             LIBRARY.MAX.SUBDIR, _
  347.             LIBRARY.SUBDIR.PREFIX$, _
  348.             LIBRARY.ARCHIVE.PATH$, _
  349.             LIBRARY.ARCHIVE.PROGRAM$, _
  350.             LIBRARY.COMMANDS$
  351.    END IF
  352.  
  353.    INPUT #1,UPLOAD.PATH$, _
  354.             FMS.DIRECTORY$, _
  355.             ANS.MENU$,_
  356.             REQUIRED.QUESTIONNAIRE$,_
  357.             REMEMBER.NEW.USERS, _
  358.             SURVIVE.NOUSER.ROOM, _
  359.             PROMPT.HASH$, _
  360.             START.HASH, _
  361.             LEN.HASH, _
  362.             PROMPT.INDIV$, _
  363.             START.INDIV, _
  364.             LEN.INDIV
  365.    INPUT #1,BYPASS.MSGS, _
  366.             MUSIC, _
  367.             RESTRICT.BY.DATE, _
  368.             DAYS.TO.WARN, _
  369.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  370.             VOICE.TYPE, _                                            ' KG013101
  371.             RESTRICT.VALID.CMDS, _
  372.             NEW.USER.DEFAULT.MODE, _
  373.             NEW.USER.LINE.FEEDS, _
  374.             NEW.USER.NULLS, _                                        ' KG013101
  375.             FAST.FILE.LIST$, _                                       ' KG013101
  376.             FAST.FILE.LOCATOR$, _                                    ' KG013101
  377.             MESSAGES.CAN.GROW, _                                     ' KG013101
  378.             WRAP.CALLERS.FILE$, _
  379.             REDIRECT.IO.METHOD, _
  380.             AUTO.UPGRADE.SEC, _                                      ' KG013101
  381.             HALT.ON.ERROR, _
  382.             NEW.PUBLIC.MSGS.SECURITY, _
  383.             NEW.PRIVATE.MSGS.SECURITY, _
  384.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  385.             SL.CATEGORIZE.UPLOADS, _
  386.             BAUDOT, _
  387.             TIME.TO.DROP.TO.DOS, _
  388.             EXPIRED.SECURITY, _
  389.             DTR.DROP.DELAY, _
  390.             ASK.IDENTITY, _
  391.             MAX.REG.SEC, _                                           ' KG013101
  392.             BUFFER.SIZE, _
  393.             MLCOM, _
  394.             SHOOT.YOURSELF, _
  395.             EXTENSION.LIST$, _
  396.             NEW.USER.DEFAULT.PROTOCOL$, _
  397.             NEW.USER.GRAPHICS$, _
  398.             NET.MAIL$, _
  399.             MASTER.DIRECTORY.NAME$, _
  400.             PROTO.DEF$, _
  401.             UPCAT.HELP$, _
  402.             ALWAYS.STREW.TO$, _
  403.             LAST.NAME.PROMPT$
  404.    GOTO READ.DEF.ALL
  405.  
  406. READ.DEF.141D.ONLY:
  407.    INPUT #1,MAIN.FUNCTION(2), _
  408.             MAIN.FUNCTION(3), _
  409.             MAIN.FUNCTION(4), _
  410.             MAIN.FUNCTION(5), _
  411.             MAIN.FUNCTION(6), _
  412.             GLOBAL.FUNCTION(3), _
  413.             GLOBAL.FUNCTION(1), _
  414.             MAIN.FUNCTION(7), _
  415.             MAIN.FUNCTION(8), _
  416.             MAIN.FUNCTION(9), _
  417.             UTILITY.FUNCTION(6), _
  418.             MAIN.FUNCTION(10), _
  419.             MAIN.FUNCTION(11), _
  420.             MAIN.FUNCTION(14), _
  421.             MAIN.FUNCTION(12), _
  422.             MAIN.FUNCTION(13), _
  423.             MAIN.FUNCTION(15), _
  424.             MAIN.FUNCTION(16), _
  425.             MAIN.FUNCTION(17), _
  426.             GLOBAL.FUNCTION(4), _
  427.             GLOBAL.FUNCTION(2), _
  428.             DEFAULT.MACHINE.TYPE$, _
  429.             WAIT.BEFORE.DISCONNECT
  430.  
  431.    INPUT #1,FILES.FUNCTION(1), _
  432.             FILES.FUNCTION(2), _
  433.             DUMMY,             _
  434.             FILES.FUNCTION(3), _
  435.             FILES.FUNCTION(4), _
  436.             DUMMY,             _
  437.             FILES.FUNCTION(6), _
  438.             FILES.FUNCTION(7), _
  439.             DUMMY,             _
  440.             DUMMY,             _
  441.             UTILITY.FUNCTION(1), _
  442.             UTILITY.FUNCTION(11), _
  443.             UTILITY.FUNCTION(4), _
  444.             UTILITY.FUNCTION(5), _
  445.             DUMMY,             _
  446.             DUMMY,             _
  447.             UTILITY.FUNCTION(7), _
  448.             DUMMY,             _
  449.             UTILITY.FUNCTION(8), _
  450.             DUMMY,             _
  451.             UTILITY.FUNCTION(9), _
  452.             UTILITY.FUNCTION(10), _
  453.             UTILITY.FUNCTION(2), _
  454.             UTILITY.FUNCTION(12), _
  455.             DUMMY,             _
  456.             DUMMY,             _
  457.             UPLOAD.TIME.FACTOR!, _
  458.             COMPUTER.TYPE, _
  459.             REMIND.PROFILE, _
  460.             RBBS.NAME$, _
  461.             COMMANDS.BETWEEN.RINGS, _
  462.             MNP.SUPPORT, _
  463.             PAGING.PRINTER.SUPPORT$, _
  464.             MODEM.INIT.BAUD$
  465.  
  466.    INPUT #1,SYSOP.FUNCTION.KEY1$, _
  467.             SYSOP.FUNCTION.KEY2$, _
  468.             SYSOP.FUNCTION.KEY3$, _
  469.             SYSOP.FUNCTION.KEY4$, _
  470.             SYSOP.FUNCTION.KEY5$, _
  471.             SYSOP.FUNCTION.KEY6$, _
  472.             SYSOP.FUNCTION.KEY7$, _
  473.             SYSOP.FUNCTION.KEY8$, _
  474.             SYSOP.FUNCTION.KEY9$, _
  475.             SYSOP.FUNCTION.KEY10$, _
  476.             SYSOP.FUNCTION.KEY11$, _
  477.             SYSOP.FUNCTION.KEY12$
  478. READ.DEF.ALL:
  479.  
  480.    IF Version >= 5 THEN
  481.    INPUT #1,PERSONAL.DRVPATH$, _
  482.             PERSONAL.DIR$, _
  483.             PERSONAL.BEGIN, _
  484.             PERSONAL.LEN, _
  485.             PERSONAL.PROTOCOL$, _
  486.             PERSONAL.CONCAT, _
  487.             PRIVATE.READ.SEC, _
  488.             PUBLIC.READ.SEC, _
  489.             SEC.CHANGE.MSG, _
  490.             KEEP.INIT.BAUD, _
  491.             MAIN.PUI$, _
  492.             DEFAULT.ECHOER$, _
  493.             HOST.ECHO.ON$, _
  494.             HOST.ECHO.OFF$, _
  495.             SWITCH.BACK, _
  496.             DEFAULT.LINE.ACK$, _
  497.             ALTDIR.EXTENSION$, _
  498.             DIRECTORY.PREFIX$
  499.    END IF
  500.  
  501.    INPUT #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  502.             MODEM.INIT.WAIT.TIME, _
  503.             MODEM.COMMAND.DELAY.TIME, _
  504.             TURBO.RBBS
  505.    INPUT #1,DNLD.SUB, _
  506.             WILL.SUBDIRS.B.USED, _
  507.             UPLOAD.TO.SUBDIR, _
  508.             DOWNLOAD.TO.SUBDIR, _
  509.             UPLOAD.SUBDIR$
  510.  
  511.    IF Version < 5 THEN
  512.    INPUT #1,RESTRICT.BAUD, _
  513.             USE.COLOR
  514.    ELSE
  515.    INPUT #1,MIN.OLDCALLER.BAUD, _
  516.             MAX.WORK.VAR                                             ' KG013101
  517.    ENDIF
  518.  
  519.    INPUT #1,DISKFULL.GO.OFFLINE, _
  520.             EXTENDED.LOGGING, _
  521.             USER.RESET.COMMAND$, _
  522.             USER.COUNT.RINGS.COMMAND$, _
  523.             USER.ANSWER.COMMAND$, _
  524.             USER.GO.OFFHOOK.COMMAND$, _
  525.             DISK.FOR.DOS$, _
  526.             DUMB.MODEM, _
  527.             COMMENTS.AS.MESSAGES, _
  528.             LSB, _
  529.             MSB, _
  530.             LINE.CONTROL.REGISTER, _
  531.             MODEM.CONTROL.REGISTER, _
  532.             LINE.STATUS.REGISTER, _
  533.             MODEM.STATUS.REGISTER
  534.    IF Version >= 5 THEN
  535.    INPUT #1,KEEP.TIME.CREDITS, _
  536.             XON.XOFF, _
  537.             ALLOW.CALLER.TURBO, _
  538.             USE.DEVICE.DRIVER$, _
  539.             PRELOG$, _
  540.             NEW.USER.QUESTIONNAIRE$, _
  541.             EPILOG$, _
  542.             REGISTRATION.PROGRAM$, _
  543.             QUES.PATH$, _
  544.             USER.LOCATION$, _
  545.             USER.INITIALIZE.COMMAND$, _
  546.             USER.FIRMWARE.CLEAR.CMND$, _
  547.             USER.FIRMWARE.WRITE.CMND$, _
  548.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  549.             SIZE.OF.STACK, _
  550.             SECURITY.EXEMPT.FROM.EPILOG, _
  551.             USE.BASIC.WRITES, _
  552.             DOSANSI, _
  553.             ESCAPE.INSECURE, _
  554.             USE.DIR.ORDER, _
  555.             ADD.DIR.SECURITY, _
  556.             MAX.EXTENDED.LINES, _
  557.             ORIG.COMMANDS$
  558.    END IF
  559.  
  560.    IF Version >= 6 THEN
  561.    INPUT #1,LOGON.MAIL.LEVEL$, _
  562.                MACRO.DRVPATH$, _
  563.                MACRO.EXTENSION$, _
  564.                EMPHASIZE.ON.DEF$, _
  565.                EMPHASIZE.OFF.DEF$, _
  566.                FG.1.DEF$, _
  567.                FG.2.DEF$, _
  568.                FG.3.DEF$, _
  569.                FG.4.DEF$, _
  570.                SECVIO.HLP$, _
  571.                FOSSIL, _
  572.                MAX.CARRIER.WAIT, _
  573.                CALLER.BKGRD, _
  574.                SMART.TEXT, _
  575.                TIME.LOCK, _
  576.                WRITE.BUF.DEF, _
  577.                SEC.KILL.ANY, _
  578.                DOORS.DEF$, _
  579.                SCREEN.OUT.MSG$, _
  580.                AUTOPAGE.DEF$
  581.    END IF
  582.    IF DNLD.SUB < 1 OR DNLD.SUB > 99 THEN GOTO CLOSE.IN
  583.    FOR I = 1 TO DNLD.SUB
  584.        INPUT #1,DNLD$(I)
  585.    NEXT
  586.    GOTO CLOSE.IN
  587.  
  588. '
  589. ' ╔══════════════════╗
  590. ' ║ CLOSE INPUT FILE ║
  591. ' ╚══════════════════╝
  592. '
  593. CLOSE.IN:
  594.       CLOSE #1
  595. '
  596. ' ╔═════════════════════════════════════════════════╗
  597. ' ║ INITALIZE ALL VARIABLES THAT DON'T AREADY EXIST ║
  598. ' ╚═════════════════════════════════════════════════╝
  599. '
  600. 1020  LOCATE 11,9
  601.    PRINT "CONVERTING DATA...";
  602.    IF INSTR(MAIN.MESSAGE.FILE$,":") THEN
  603.       D$ = LEFT$(MAIN.MESSAGE.FILE$,INSTR(MAIN.MESSAGE.FILE$,":"))
  604.    ELSE
  605.       D$ = ""
  606.    END IF
  607.  
  608.    SELECT CASE Version
  609.       CASE 1
  610.          GOTO 2000
  611.       CASE 2
  612.          GOTO 2100
  613.       CASE 3
  614.          GOTO 2200
  615.       CASE 4
  616.          GOTO 2300
  617.       CASE 5
  618.          GOTO 2400
  619.       CASE 6 TO 9
  620.          GOTO 2500
  621.       CASE 7 TO 11
  622.          GOTO 2600
  623.       CASE ELSE
  624.          GOTO 2700
  625.       END SELECT
  626. '
  627. ' ╔══════════════════════════════════╗
  628. ' ║ INITALIZE VARIABLES NOT IN 14.1D ║
  629. ' ╚══════════════════════════════════╝
  630. '
  631. 2000  FOR I = 1 TO 9
  632.          IF INSTR(HELP$(I),":") THEN
  633.             HELP$(I) = MID$(HELP$(I),INSTR(HELP$(I),":")+1)
  634.          END IF
  635.       NEXT
  636.    ALWAYS.STREW.TO$           = ""
  637.    ANS.MENU$                  = D$ + "MENUA"
  638.    ASK.IDENTITY               = FALSE
  639.    BAUDOT                     = 0
  640.    BUFFER.SIZE                = 128
  641.    BYPASS.MSGS                = FALSE                                ' KG013101
  642.    COMMANDS.IN.PROMPT         = TRUE
  643.    DEFAULT.CATEGORY.CODE$     = "UC "
  644.    DAYS.IN.SUBSCRIPTION.PERIOD = 365
  645.    DAYS.TO.WARN               = 60
  646.    DIR.CATEGORY.FILE$         = D$ + "DIR.CAT"
  647.    DIRECTORY.PATH$            = D$
  648.    DTR.DROP.DELAY             = 3
  649.    DUMMY$                     = " "
  650.    EXPIRED.SECURITY           = DEFAULT.SECURITY.LEVEL
  651.    FILE.COMMANDS$             = "DGLNPSUV"
  652.    FILES.FUNCTION(8)          = FILES.FUNCTION(1)
  653.    F7.MESSAGE$                = ""
  654.    GLOBAL.COMMANDS$           = "H?QX"                               ' KG013101
  655.    HELP.EXTENSION$            = "HLP"
  656.    HELP.PATH$                 = D$
  657.    LEN.HASH                   = 31
  658.    LEN.INDIV                  = 0
  659.    LIMIT.SEARCH.TO.FMS        = FALSE
  660.    MAIN.COMMANDS$             = "ABCDEFIJKOPRSTUVW"
  661.    MAIN.FUNCTION(1)           = DEFAULT.SECURITY.LEVEL
  662.    MAIN.FUNCTION(18)          = 32767
  663.    MASTER.DIRECTORY.NAME$     = ""
  664.    MAX.DESC.LEN               = 40
  665.    MIN.SEC.TO.VIEW            = DEFAULT.SECURITY.LEVEL
  666.    MLCOM                      = FALSE
  667.    MUSIC                      = FALSE
  668.    NET.MAIL$                  = ""
  669.    NEW.FILES.CHECK            = FALSE
  670.    NEWUSER.SETS.DEFAULTS      = TRUE
  671.    NEW.PUBLIC.MSGS.SECURITY   = DEFAULT.SECURITY.LEVEL
  672.    NEW.PRIVATE.MSGS.SECURITY  = DEFAULT.SECURITY.LEVEL
  673.    NEW.USER.DEFAULT.MODE      = 0
  674.    NEW.USER.DEFAULT.PROTOCOL$ = ""
  675.    NEW.USER.GRAPHICS$         = ""
  676.    NEW.USER.LINE.FEEDS        = 0
  677.    NEW.USER.NULLS             = 0
  678.    NEW.USER.BELL              = 0
  679.    NEW.USER.CASE              = 0
  680.    NEW.USER.MARGINS           = 0
  681.    PROMPT.HASH$               = "Name"
  682.    PROMPT.INDIV$              = ""
  683.    REDIRECT.IO.METHOD         = TRUE
  684.    REMEMBER.NEW.USERS         = TRUE
  685.    REQUIRED.QUESTIONNAIRE$    = "NONE"
  686.    RESTRICT.BY.DATE           = FALSE
  687.    RESTRICT.VALID.CMDS        = FALSE
  688.    SECURITY.NEEDED.TO.CHANGE.MSGS = SYSOP.SECURITY.LEVEL
  689.    SHOOT.YOURSELF             = FALSE
  690.    SHOW.SECTION               = TRUE
  691.    SL.CATEGORIZE.UPLOADS      = SYSOP.SECURITY.LEVEL
  692.    START.HASH                 = 1
  693.    START.INDIV                = 0
  694.    SURVIVE.NOUSER.ROOM        = FALSE
  695.    SYSOP.COMMANDS$            = "1234567"
  696.    TIME.TO.DROP.TO.DOS        = 0
  697.    TURN.PRINTER.OFF           = FALSE
  698.    FMS.DIRECTORY$             = ""
  699.    UPCAT.HELP$                = "UPCAT"                              ' KG013101
  700.    UTIL.COMMANDS$             = "BCEFGLMPRSTU"
  701.    WRAP.CALLERS.FILE$         = ""
  702.    FOR I = 1 TO NUM.GLOBAL
  703.      GLOBAL.FUNCTION(I) = MINIMUM.LOGON.SECURITY
  704.    NEXT
  705.  
  706. '
  707. ' ╔══════════════════════════════════╗
  708. ' ║ INITALIZE VARIABLES NOT IN 15.1A ║
  709. ' ╚══════════════════════════════════╝
  710. '
  711. 2100  RTS$                       = "NO"
  712.  
  713. '
  714. ' ╔══════════════════════════════════╗
  715. ' ║ INITALIZE VARIABLES NOT IN 15.1B ║
  716. ' ╚══════════════════════════════════╝
  717. '
  718.  
  719. 2200  LIBRARY.ARCHIVE.PATH$        = D$
  720.    LIBRARY.ARCHIVE.PROGRAM$     = "ARCA "
  721.    LIBRARY.COMMANDS$            = "ACDGLSV"
  722.    LIBRARY.DIRECTORY.PATH$      = D$
  723.    LIBRARY.DIRECTORY.EXTENTION$ = "CDR"
  724.    LIBRARY.DRIVE$               = ""
  725.    LIBRARY.MAX.DISK             = 705
  726.    LIBRARY.MAX.DIRECTORY        = 7
  727.    LIBRARY.MAX.SUBDIR           = 100
  728.    LIBRARY.SUBDIR.PREFIX$       = "DISK"
  729.    FOR I=1 TO 7
  730.       LIBRARY.FUNCTION(I) = SYSOP.SECURITY.LEVEL
  731.    NEXT
  732.    LIBRARY.WORK.DISK.PATH$      = D$
  733.  
  734.    MAIN.COMMANDS$               = MAIN.COMMANDS$ + "@"
  735.    MENU$(6)                   = D$ + "MENU6"
  736.    RECYCLE.WAIT               = 0
  737.  
  738. '
  739. ' ╔══════════════════════════════════╗
  740. ' ║ INITALIZE VARIABLES NOT IN 15.1C ║
  741. ' ╚══════════════════════════════════╝
  742. '
  743.  
  744. 2300  ALLOW.CALLER.TURBO         = SYSOP.SECURITY.LEVEL
  745.    ALTDIR.EXTENSION$          = ""
  746.    DEFAULT.ECHOER$            = "R"
  747.    DEFAULT.LINE.ACK$          = ""
  748.    DIRECTORY.PREFIX$          = "DIR"
  749.    DOSANSI                    = USE.COLOR
  750.    ENFORCE.UPLOAD.DOWNLOAD.RATIOS = FALSE
  751.    EPILOG$                    = D$ + "EPILOG.DEF"
  752.    IF LEN(FILE.COMMANDS$) < 8 THEN
  753.       FILE.COMMANDS$ = LEFT$(FILE.COMMANDS$,4) + "P" + _
  754.                        RIGHT$(FILE.COMMANDS$,3)
  755.    END IF
  756.    FILES.FUNCTION(5)          = SYSOP.SECRUITY.LEVEL
  757.    FIRST.NAME.PROMPT$         = "FIRST name"
  758.    HOST.ECHO.OFF$             = ""
  759.    HOST.ECHO.ON$              = ""
  760.    KEEP.INIT.BAUD             = FALSE
  761.    KEEP.TIME.CREDITS          = FALSE
  762.    LAST.NAME.PROMPT$          = "LAST name"
  763.    MAIN.PUI$                  = D$ + "MAIN.PUI"
  764.    MAX.PER.DAY                = 0
  765.    MENUS.CAN.PAUSE            = TRUE
  766.    MIN.NEWCALLER.BAUD         = 0
  767.    IF RESTRICT.BAUD <> 0 THEN _
  768.       MIN.NEWCALLER.BAUD      = 1200
  769.    MIN.OLDCALLER.BAUD         = 0
  770.    IF RESTRICT.BAUD =TRUE THEN _
  771.       MIN.OLDCALLER.BAUD      = 1200
  772.    NEW.USER.QUESTIONNAIRE$    = D$ + "RBBS-REG.DEF"
  773.    PERSONAL.BEGIN             = 1
  774.    PERSONAL.DIR$              = "PRIV"
  775.    PERSONAL.DRVPATH$          = D$
  776.    PERSONAL.LEN               = 31
  777.    PERSONAL.CONCAT            = FALSE
  778.    PERSONAL.PROTOCOL$         = "N"
  779.    PRELOG$                    = D$ + "PRELOG"
  780.    PRIVATE.READ.SEC           = DEFAULT.SECURITY.LEVEL
  781.    PUBLIC.READ.SEC            = DEFAULT.SECURITY.LEVEL
  782.    QUES.PATH$                 = ""
  783.    REGISTRATION.PROGRAM$      = "NONE"
  784.    SEC.CHANGE.MSG             = SYSOP.SECURITY.LEVEL
  785.    SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
  786.    SIZE.OF.STACK              = 1024
  787.    SWITCH.BACK                = FALSE
  788.    USE.BASIC.WRITES           = FALSE
  789.    USE.DEVICE.DRIVER$         = ""
  790.    USE.EXTERNAL.YMODEM        = FALSE
  791.    USER.FIRMWARE.CLEAR.CMND$  = "AT&F"
  792.    USER.FIRMWARE.WRITE.CMND$  = "AT&W"
  793.    USER.INITIALIZE.COMMAND$   = "AT&C1&D3B1E0V1M0S0=0&T5"
  794.    USER.LOCATION$             = "CITY and STATE"
  795.    IF LEN(UTIL.COMMANDS$) < 12 THEN _
  796.    UTIL.COMMANDS$ = LEFT$(UTIL.COMMANDS$,2) + "E" + _
  797.                     RIGHT$(UTIL.COMMANDS$,9)
  798.    UTILITY.FUNCTION(3)        = UTILITY.FUNCTION(4)
  799.    XON.XOFF                   = FALSE
  800.  
  801.    MAIN.COMMANDS.DEFAULTS$    = "ABCDEFIJKOPRSTUVW@"
  802.    FILE.COMMANDS.DEFAULTS$    = "DGLNPSUV"
  803.    UTIL.COMMANDS.DEFAULTS$    = "BCEFGLMPRSTU"
  804.    LIBRARY.COMMANDS.DEFAULTS$   = "ACDGLSV"
  805.    GLOBAL.COMMANDS.DEFAULTS$  = "H?QX"
  806.    SYSOP.COMMANDS.DEFAULTS$   = "1234567"
  807.  
  808.    ORIG.COMMANDS$ = MAIN.COMMANDS.DEFAULTS$ + _
  809.                     FILE.COMMANDS.DEFAULTS$ + _
  810.                     UTIL.COMMANDS.DEFAULTS$ + _
  811.                     LIBRARY.COMMANDS.DEFAULTS$ + _
  812.                     GLOBAL.COMMANDS.DEFAULTS$ + _
  813.                     SYSOP.COMMANDS.DEFAULTS$
  814.  
  815. '
  816. ' ╔══════════════════════════════════╗
  817. ' ║ INITALIZE VARIABLES NOT IN 16.1A ║
  818. ' ╚══════════════════════════════════╝
  819. '
  820. 2400 ADD.DIR.SECURITY           = SYSOP.SECURITY.LEVEL
  821.    ASK.EXTENDED.DESC          = SYSOP.SECURITY.LEVEL
  822.    AUTOPAGE.DEF$              = D$ + "AUTOPAGE.DEF"
  823.    CALLER.BKGRD               = 0
  824.    CONFMAIL.LIST$             = D$ + "CONFMAIL.DEF"
  825.    EMPHASIZE.OFF.DEF$         = "[27]" + "[0;40;33m"
  826.    EMPHASIZE.ON.DEF$          = "[27]" + "[1;41;37m"
  827.    ESCAPE.INSECURE            = FALSE
  828.    FG.1.DEF$                  = ""
  829.    FG.2.DEF$                  = ""
  830.    FG.3.DEF$                  = ""
  831.    FG.4.DEF$                  = ""
  832.    FOSSIL                     = 0
  833.    LOGON.MAIL.LEVEL$          = "A"
  834.    LSB                        = 1016
  835.    MACRO.DRVPATH$             = D$
  836.    MACRO.EXTENSION$           = "MCR"
  837.    MAX.CARRIER.WAIT           = 30
  838.    MAX.EXTENDED.LINES         = 2
  839.    PROTO.DEF$                 = D$ + "PROTO.DEF"
  840.    SECVIO.HLP$                = D$ + "SECVIO." + HELP.EXTENSION$
  841.    SMART.TEXT                 = 123
  842.    TIME.LOCK                  = 0
  843.    USE.DIR.ORDER              = TRUE
  844.    WRITE.BUF.DEF              = 1024
  845. '
  846. ' ╔════════════════════════════════════╗
  847. ' ║ INITALIZE VARIABLES NOT IN 17.1A-D ║
  848. ' ╚════════════════════════════════════╝
  849. '
  850. 2500 AUTO.UPGRADE.SEC         = 0
  851.    EXTENSION.LIST$            = "ZIP"
  852.    DOORS.DEF$                 = D$ + "DOORS.DEF"
  853.    MAX.REG.SEC                = 0
  854.    MAX.WORK.VAR               = 30
  855.    MESSAGES.CAN.GROW          = 0
  856.    SCREEN.OUT.MSG$            = "SEEN-BY:"
  857.    SEC.KILL.ANY               = SYSOP.SECURITY.LEVEL
  858.    VOICE.TYPE                 = 0
  859. '
  860. ' ╔════════════════════════════════════╗
  861. ' ║ INITALIZE VARIABLES NOT IN 17.2A-B ║
  862. ' ╚════════════════════════════════════╝
  863. '
  864. 2600 FAST.FILE.LIST$          = D$ + "FIDX.DEF"
  865.      FAST.FILE.LOCATOR$       = D$ + "LIDX.DEF"
  866. '
  867. ' ╔═════════════════════════════════╗
  868. ' ║ INITALIZE VARIABLES NOT IN 17.3 ║
  869. ' ╚═════════════════════════════════╝
  870. '
  871. 2700 VERSION.NUMBER$          = "17.3A"
  872.      IF LEFT$(USER.FIRMWARE.WRITE.CMND$,2) <> "AT" THEN
  873.         USER.FIRMWARE.WRITE.CMND$= "AT" + USER.FIRMWARE.WRITE.CMND$
  874.      END IF
  875. '
  876. ' ╔═══════════════════════════════════════════════════════════════════════════╗
  877. ' ║ WRITE OUT THE "RBBS-PC.DEF" FILE WITH THE SYSOP'S SPECIFIED CONFIGURATION ║
  878. ' ╚═══════════════════════════════════════════════════════════════════════════╝
  879. '
  880. 3000  OPEN "O",#1,OutputFileName$
  881.    LOCATE 12,9
  882.    PRINT "WRITING DATA...";
  883.  
  884. 4000  WRITE #1,VERSION.NUMBER$, _
  885.             DOWNLOAD.DRIVES$, _
  886.             SYSOP.PASSWORD.1$, _
  887.             SYSOP.PASSWORD.2$, _
  888.             SYSOP.FIRST.NAME$, _
  889.             SYSOP.LAST.NAME$, _
  890.             REQUIRED.RINGS, _
  891.             START.OFFICE.HOURS, _
  892.             END.OFFICE.HOURS, _
  893.             MINUTES.PER.SESSION!, _
  894.             MAX.ALLOWED.MSGS.FRM.DEF, _
  895.             ACT.MNTHS.B4.DELETING, _
  896.             UPLOAD.DIRECTORY$,_
  897.             EXPERT.USER, _
  898.             ACTIVE.BULLETINS, _
  899.             PROMPT.BELL, _
  900.             PCJR, _
  901.             MENUS.CAN.PAUSE, _
  902.             MENU$(1), _
  903.             MENU$(2), _
  904.             MENU$(3), _
  905.             MENU$(4), _
  906.             MENU$(5), _
  907.             MENU$(6), _
  908.             CONFERENCE.MENU$, _
  909.             CONFERENCE.VIEWER.SEC.LVL, _
  910.             WELCOME.INTERRUPTABLE, _
  911.             REMIND.FILE.TRANSFERS, _
  912.             PAGE.LENGTH, _
  913.             MAX.MESSAGE.LINES, _
  914.             DOORS.AVAILABLE, _
  915.             MO$
  916.    IF INSTR(BULLETIN.MENU$,":") < 1 THEN _
  917.       BULLETIN.MENU$ = DRIVE.FOR.BULLETINS$ + _
  918.                        BULLETIN.MENU$
  919.    IF INSTR(BULLETIN.PREFIX$,":") < 1 THEN _
  920.       BULLETIN.PREFIX$ = DRIVE.FOR.BULLETINS$ + _
  921.                          BULLETIN.PREFIX$
  922.    IF GLOBAL.FUNCTION(3) > MINIMUM.LOGON.SECURITY THEN _
  923.       GLOBAL.FUNCTION(3) = MINIMUM.LOGON.SECURITY
  924.    IF FILES.FUNCTION(2) > MINIMUM.LOGON.SECURITY THEN _
  925.       FILES.FUNCTION(2) = MINIMUM.LOGON.SECURITY
  926.    IF LIBRARY.FUNCTION(4) > MINIMUM.LOGON.SECURITY THEN _
  927.       LIBRARY.FUNCTION(4) = MINIMUM.LOGON.SECURITY
  928.    IF LIBRARY.DRIVE$ = "" THEN _
  929.       MAIN.FUNCTION(18) = 32767
  930.    WRITE #1,MAIN.MESSAGE.FILE$, _
  931.             MAIN.MESSAGE.BACKUP$, _
  932.             CALLERS.FILE$, _
  933.             COMMENTS.FILE$, _
  934.             MAIN.USER.FILE$, _
  935.             WELCOME.FILE$, _
  936.             NEWUSER.FILE$, _
  937.             DIRECTORY.EXTENTION$, _
  938.             COM.PORT$, _
  939.             BULLETINS.OPTIONAL, _
  940.             USER.INIT.COMMAND$, _
  941.             RTS$, _
  942.             DOS.VERSION, _
  943.             FG, _
  944.             BG, _
  945.             BORDER, _
  946.             RBBS.BAT$, _
  947.             RCTTY.BAT$
  948. 4200  WRITE #1,OMIT.MAIN.DIRECTORY$, _
  949.             FIRST.NAME.PROMPT$, _
  950.             HELP$(3), _
  951.             HELP$(4), _
  952.             HELP$(7), _
  953.             HELP$(9), _
  954.             BULLETIN.MENU$, _
  955.             BULLETIN.PREFIX$, _
  956.             DRIVE.FOR.BULLETINS$, _
  957.             MESSAGE.REMINDER, _
  958.             REQUIRE.NON.ASCII, _
  959.             ASK.EXTENDED.DESC, _
  960.             MAXIMUM.NUMBER.OF.NODES, _
  961.             NETWORK.TYPE, _
  962.             RECYCLE.TO.DOS, _
  963.             MAX.USR.FILE.SIZE.FRM.DEF, _
  964.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  965.             TRASHCAN.FILE$
  966. 4300  WRITE #1,MINIMUM.LOGON.SECURITY, _
  967.             DEFAULT.SECURITY.LEVEL, _
  968.             SYSOP.SECURITY.LEVEL, _
  969.             FILESEC.FILE$, _
  970.             SYSOP.MENU.SECURITY.LEVEL, _
  971.             CONFMAIL.LIST$, _
  972.             MAXIMUM.VIOLATIONS, _
  973.             SYSOP.FUNCTION(1), _
  974.             SYSOP.FUNCTION(2), _
  975.             SYSOP.FUNCTION(3), _
  976.             SYSOP.FUNCTION(4), _
  977.             SYSOP.FUNCTION(5), _
  978.             SYSOP.FUNCTION(6), _
  979.             SYSOP.FUNCTION(7), _
  980.             PASSWORD.FILE$, _
  981.             MAXIMUM.PASSWORD.CHANGES, _
  982.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  983.             OVERWRITE.SECURITY.LEVEL, _
  984.             DOORS.TERMINAL.TYPE, _
  985.             MAX.PER.DAY
  986. 4400  WRITE #1,MAIN.FUNCTION(1), _
  987.             MAIN.FUNCTION(2), _
  988.             MAIN.FUNCTION(3), _
  989.             MAIN.FUNCTION(4), _
  990.             MAIN.FUNCTION(5), _
  991.             MAIN.FUNCTION(6), _
  992.             MAIN.FUNCTION(7), _
  993.             MAIN.FUNCTION(8), _
  994.             MAIN.FUNCTION(9), _
  995.             MAIN.FUNCTION(10), _
  996.             MAIN.FUNCTION(11), _
  997.             MAIN.FUNCTION(12), _
  998.             MAIN.FUNCTION(13), _
  999.             MAIN.FUNCTION(14), _
  1000.             MAIN.FUNCTION(15), _
  1001.             MAIN.FUNCTION(16), _
  1002.             MAIN.FUNCTION(17), _
  1003.             MAIN.FUNCTION(18), _
  1004.             MIN.NEWCALLER.BAUD, _
  1005.             WAIT.BEFORE.DISCONNECT
  1006. 4500  WRITE #1,FILES.FUNCTION(1), _
  1007.             FILES.FUNCTION(2), _
  1008.             FILES.FUNCTION(3), _
  1009.             FILES.FUNCTION(4), _
  1010.             FILES.FUNCTION(5), _
  1011.             FILES.FUNCTION(6), _
  1012.             FILES.FUNCTION(7), _
  1013.             FILES.FUNCTION(8), _
  1014.             UTILITY.FUNCTION(1), _
  1015.             UTILITY.FUNCTION(2), _
  1016.             UTILITY.FUNCTION(3), _
  1017.             UTILITY.FUNCTION(4), _
  1018.             UTILITY.FUNCTION(5), _
  1019.             UTILITY.FUNCTION(6), _
  1020.             UTILITY.FUNCTION(7), _
  1021.             UTILITY.FUNCTION(8), _
  1022.             UTILITY.FUNCTION(9), _
  1023.             UTILITY.FUNCTION(10), _
  1024.             UTILITY.FUNCTION(11), _
  1025.             UTILITY.FUNCTION(12), _
  1026.             GLOBAL.FUNCTION(1), _
  1027.             GLOBAL.FUNCTION(2), _
  1028.             GLOBAL.FUNCTION(3), _
  1029.             GLOBAL.FUNCTION(4), _
  1030.             UPLOAD.TIME.FACTOR!, _
  1031.             COMPUTER.TYPE, _
  1032.             REMIND.PROFILE, _
  1033.             RBBS.NAME$, _
  1034.             COMMANDS.BETWEEN.RINGS, _
  1035.             MNP.SUPPORT, _
  1036.             PAGING.PRINTER.SUPPORT$, _
  1037.             MODEM.INIT.BAUD$
  1038. 4600  WRITE #1,TURN.PRINTER.OFF,_
  1039.             DIRECTORY.PATH$,_
  1040.             MIN.SEC.TO.VIEW, _
  1041.             LIMIT.SEARCH.TO.FMS, _
  1042.             DEFAULT.CATEGORY.CODE$, _
  1043.             DIR.CATEGORY.FILE$, _
  1044.             NEW.FILES.CHECK, _
  1045.             MAX.DESC.LEN, _
  1046.             SHOW.SECTION, _
  1047.             COMMANDS.IN.PROMPT, _
  1048.             NEWUSER.SETS.DEFAULTS, _
  1049.             HELP.PATH$, _
  1050.             HELP.EXTENSION$, _
  1051.             MAIN.COMMANDS$, _
  1052.             FILE.COMMANDS$, _
  1053.             UTIL.COMMANDS$, _
  1054.             GLOBAL.COMMANDS$, _
  1055.             SYSOP.COMMANDS$
  1056. 4700  WRITE #1,RECYCLE.WAIT, _
  1057.             LIBRARY.FUNCTION(1), _
  1058.             LIBRARY.FUNCTION(2), _
  1059.             LIBRARY.FUNCTION(3), _
  1060.             LIBRARY.FUNCTION(4), _
  1061.             LIBRARY.FUNCTION(5), _
  1062.             LIBRARY.FUNCTION(6), _
  1063.             LIBRARY.FUNCTION(7), _
  1064.             LIBRARY.DRIVE$, _
  1065.             LIBRARY.DIRECTORY.PATH$, _
  1066.             LIBRARY.DIRECTORY.EXTENTION$, _
  1067.             LIBRARY.WORK.DISK.PATH$, _
  1068.             LIBRARY.MAX.DISK, _
  1069.             LIBRARY.MAX.DIRECTORY, _
  1070.             LIBRARY.MAX.SUBDIR, _
  1071.             LIBRARY.SUBDIR.PREFIX$, _
  1072.             LIBRARY.ARCHIVE.PATH$, _
  1073.             LIBRARY.ARCHIVE.PROGRAM$, _
  1074.             LIBRARY.COMMANDS$
  1075. 4800  WRITE #1,UPLOAD.PATH$, _
  1076.             FMS.DIRECTORY$, _
  1077.             ANS.MENU$, _
  1078.             REQUIRED.QUESTIONNAIRE$, _
  1079.             REMEMBER.NEW.USERS, _
  1080.             SURVIVE.NOUSER.ROOM, _
  1081.             PROMPT.HASH$, _
  1082.             START.HASH, _
  1083.             LEN.HASH, _
  1084.             PROMPT.INDIV$, _
  1085.             START.INDIV, _
  1086.             LEN.INDIV
  1087. 4850  WRITE #1,BYPASS.MSGS, _
  1088.             MUSIC, _
  1089.             RESTRICT.BY.DATE, _
  1090.             DAYS.TO.WARN, _
  1091.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  1092.             VOICE.TYPE, _
  1093.             RESTRICT.VALID.CMDS, _
  1094.             NEW.USER.DEFAULT.MODE, _
  1095.             NEW.USER.LINE.FEEDS, _
  1096.             NEW.USER.NULLS, _
  1097.             FAST.FILE.LIST$, _
  1098.             FAST.FILE.LOCATOR$, _
  1099.             MESSAGES.CAN.GROW, _
  1100.             WRAP.CALLERS.FILE$, _
  1101.             REDIRECT.IO.METHOD, _
  1102.             AUTO.UPGRADE.SEC, _
  1103.             HALT.ON.ERROR, _
  1104.             NEW.PUBLIC.MSGS.SECURITY, _
  1105.             NEW.PRIVATE.MSGS.SECURITY, _
  1106.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  1107.             SL.CATEGORIZE.UPLOADS, _
  1108.             BAUDOT, _
  1109.             TIME.TO.DROP.TO.DOS, _
  1110.             EXPIRED.SECURITY, _
  1111.             DTR.DROP.DELAY, _
  1112.             ASK.IDENTITY, _
  1113.             MAX.REG.SEC, _
  1114.             BUFFER.SIZE, _
  1115.             MLCOM, _
  1116.             SHOOT.YOURSELF, _
  1117.             EXTENSION.LIST$, _
  1118.             NEW.USER.DEFAULT.PROTOCOL$, _
  1119.             NEW.USER.GRAPHICS$, _
  1120.             NET.MAIL$, _
  1121.             MASTER.DIRECTORY.NAME$, _
  1122.             PROTO.DEF$, _
  1123.             UPCAT.HELP$, _
  1124.             ALWAYS.STREW.TO$, _
  1125.             LAST.NAME.PROMPT$
  1126.       MSB = LSB + 1
  1127.       LINE.CONTROL.REGISTER = LSB + 3
  1128.       MODEM.CONTROL.REGISTER = LSB + 4
  1129.       LINE.STATUS.REGISTER = LSB + 5
  1130.       MODEM.STATUS.REGISTER = LSB + 6
  1131. 4900  WRITE #1,PERSONAL.DRVPATH$, _
  1132.             PERSONAL.DIR$, _
  1133.             PERSONAL.BEGIN, _
  1134.             PERSONAL.LEN, _
  1135.             PERSONAL.PROTOCOL$, _
  1136.             PERSONAL.CONCAT, _
  1137.             PRIVATE.READ.SEC, _
  1138.             PUBLIC.READ.SEC, _
  1139.             SEC.CHANGE.MSG, _
  1140.             KEEP.INIT.BAUD, _
  1141.             MAIN.PUI$, _
  1142.             DEFAULT.ECHOER$, _
  1143.             HOST.ECHO.ON$, _
  1144.             HOST.ECHO.OFF$, _
  1145.             SWITCH.BACK, _
  1146.             DEFAULT.LINE.ACK$, _
  1147.             ALTDIR.EXTENSION$, _
  1148.             DIRECTORY.PREFIX$
  1149. 4950  WRITE #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  1150.             MODEM.INIT.WAIT.TIME, _
  1151.             MODEM.COMMAND.DELAY.TIME, _
  1152.             TURBO.RBBS, _
  1153.             DNLD.SUB, _
  1154.             WILL.SUBDIRS.B.USED, _
  1155.             UPLOAD.TO.SUBDIR, _
  1156.             DOWNLOAD.TO.SUBDIR, _
  1157.             UPLOAD.SUBDIR$, _
  1158.             MIN.OLDCALLER.BAUD, _
  1159.             MAX.WORK.VAR, _
  1160.             DISKFULL.GO.OFFLINE, _
  1161.             EXTENDED.LOGGING, _
  1162.             USER.RESET.COMMAND$, _
  1163.             USER.COUNT.RINGS.COMMAND$, _
  1164.             USER.ANSWER.COMMAND$, _
  1165.             USER.GO.OFFHOOK.COMMAND$, _
  1166.             DISK.FOR.DOS$, _
  1167.             DUMB.MODEM, _
  1168.             COMMENTS.AS.MESSAGES, _
  1169.             LSB, _
  1170.             MSB, _
  1171.             LINE.CONTROL.REGISTER, _
  1172.             MODEM.CONTROL.REGISTER, _
  1173.             LINE.STATUS.REGISTER, _
  1174.             MODEM.STATUS.REGISTER
  1175. 4980  WRITE #1,KEEP.TIME.CREDITS, _
  1176.             XON.XOFF, _
  1177.             ALLOW.CALLER.TURBO, _
  1178.             USE.DEVICE.DRIVER$, _
  1179.             PRELOG$, _
  1180.             NEW.USER.QUESTIONNAIRE$, _
  1181.             EPILOG$, _
  1182.             REGISTRATION.PROGRAM$, _
  1183.             QUES.PATH$, _
  1184.             USER.LOCATION$, _
  1185.             USER.INITIALIZE.COMMAND$, _
  1186.             USER.FIRMWARE.CLEAR.CMND$, _
  1187.             USER.FIRMWARE.WRITE.CMND$, _
  1188.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  1189.             SIZE.OF.STACK, _
  1190.             SECURITY.EXEMPT.FROM.EPILOG, _
  1191.             USE.BASIC.WRITES, _
  1192.             DOSANSI, _
  1193.             ESCAPE.INSECURE, _
  1194.             USE.DIR.ORDER, _
  1195.             ADD.DIR.SECURITY, _
  1196.             MAX.EXTENDED.LINES, _
  1197.             ORIG.COMMANDS$
  1198.       IF MACRO.EXTENSION$ <> "" AND _
  1199.          INSTR(MACRO.EXTENSION$,".") <> 1 THEN _
  1200.          MACRO.EXTENSION$ = "." + MACRO.EXTENSION$
  1201.       WRITE #1,LOGON.MAIL.LEVEL$, _
  1202.             MACRO.DRVPATH$, _
  1203.             MACRO.EXTENSION$, _
  1204.             EMPHASIZE.ON.DEF$, _
  1205.             EMPHASIZE.OFF.DEF$, _
  1206.             FG.1.DEF$, _
  1207.             FG.2.DEF$, _
  1208.             FG.3.DEF$, _
  1209.             FG.4.DEF$, _
  1210.             SECVIO.HLP$, _
  1211.             FOSSIL, _
  1212.             MAX.CARRIER.WAIT, _
  1213.             CALLER.BKGRD, _
  1214.             SMART.TEXT, _
  1215.             TIME.LOCK, _
  1216.             WRITE.BUF.DEF, _
  1217.             SEC.KILL.ANY, _
  1218.             DOORS.DEF$, _
  1219.             SCREEN.OUT.MSG$, _
  1220.             AUTOPAGE.DEF$
  1221.    IF DNLD.SUB <1 OR DNLD.SUB > 99 THEN _
  1222.       GOTO CLOSE.OUT
  1223.    FOR I = 1 TO DNLD.SUB
  1224.       WRITE #1,DNLD$(I)
  1225.    NEXT
  1226.  
  1227. CLOSE.OUT:
  1228. 5000  CLOSE #1
  1229.    LOCATE 13,9
  1230.    PRINT "FINISHED."
  1231.    LOCATE 22,1
  1232.    END
  1233.  
  1234.  
  1235.  
  1236. '
  1237. ' ╔══════════════════════════════════╗
  1238. ' ║ ERROR EXIT - USER ABORTED PROGRAM║
  1239. ' ╚══════════════════════════════════╝
  1240. '
  1241. USER.ABORT:
  1242.       LOCATE 23,1
  1243.       PRINT "User aborted program - EXECUTION CANCELLED"
  1244.       SYSTEM
  1245. '
  1246. ' ╔══════════════════════════════════════════════╗
  1247. ' ║ ERROR HANDLER FOR ANY OPEN/READ/WRITE ERRORS ║
  1248. ' ╚══════════════════════════════════════════════╝
  1249. '
  1250. ErrorHandler:
  1251.    IF ERL = 1000 THEN
  1252.       CALL Line17("ERROR: COULD NOT OPEN INPUT FILE - EXECUTION CANCELLED")
  1253.       SYSTEM
  1254.    END IF
  1255.    IF ERL =  1010 THEN
  1256.       CALL Line17("ERROR READING FILE (Probably not version "+ MID$(Ver$,(Version-1)*6+1,5)+")")
  1257.       SYSTEM
  1258.    END IF
  1259.    IF ERL = 3000 THEN
  1260.       CALL Line17("ERROR: COULD NOT OPEN OUTPUT FILE - EXECUTION CANCELLED")
  1261.       SYSTEM
  1262.    END IF
  1263.    IF ERL >= 4000 AND ERL <= 5000 THEN
  1264.       CALL Line17("ERROR: COULD NOT WRITE OUTPUT FILE - EXECUTION CANCELLED")
  1265.       SYSTEM
  1266.    END IF
  1267.    CALL Line17("ERROR "+STR$(ERR)+" OCCURRED IN LINE "+STR$(ERL)+" - EXECUTION CANCELLED")
  1268.    SYSTEM
  1269.  
  1270.    DATA "           RBBS-PC VERSION 17.3A CONFIGURATION CONVERSION"
  1271.    DATA "Conceived and written by:"
  1272.    DATA "   Doug Azzarito"
  1273.    DATA "   TECHNOLOGY CONSULTANTS of the Palm Beaches, Inc."
  1274.    DATA "   VOICE: (407) 627-9767"
  1275.    DATA "    DATA: (407) 627-6969 627-6862"
  1276.    DATA ""
  1277.    DATA "A limited license is granted to all users of this program"
  1278.    DATA "to use and distribute this program, as long as:"
  1279.    DATA "   1) NO FEE is charged for copying or distributing this program."
  1280.    DATA "   2) This program is NOT distributed in modified form."
  1281.    DATA "   3) The code contained herein is NOT used for any other purpose"
  1282.    DATA "      without obtaining permission from the copyright owner of"
  1283.    DATA "      RBBS-PC"
  1284. '
  1285. ' ╔═════════════════╗
  1286. ' ║ STRTOK FUNCTION ║
  1287. ' ╚═════════════════╝
  1288. '
  1289. FUNCTION StrTok$(Srce$,Delim$)
  1290. STATIC Start%, SaveStr$
  1291.  
  1292.    ' If first call, make a copy of the string.
  1293.    IF Srce$<>"" THEN
  1294.       Start%=1 : SaveStr$=Srce$
  1295.    END IF
  1296.  
  1297.    BegPos%=Start% : Ln%=LEN(SaveStr$)
  1298.    ' Look for start of a token (character that isn't delimiter).
  1299.    WHILE BegPos%<=Ln% AND INSTR(Delim$,MID$(SaveStr$,BegPos%,1))<>0
  1300.       BegPos%=BegPos%+1
  1301.    WEND
  1302.    ' Test for token start found.
  1303.    IF BegPos% > Ln% THEN
  1304.       StrTok$="" : EXIT FUNCTION
  1305.    END IF
  1306.    ' Find the end of the token.
  1307.    EndPos%=BegPos%
  1308.    WHILE EndPos% <= Ln% AND INSTR(Delim$,MID$(SaveStr$,EndPos%,1))=0
  1309.       EndPos%=EndPos%+1
  1310.    WEND
  1311.    StrTok$=MID$(SaveStr$,BegPos%,EndPos%-BegPos%)
  1312.    ' Set starting point for search for next token.
  1313.    Start%=EndPos%
  1314.  
  1315. END FUNCTION
  1316. '
  1317. ' ╔═════════════════╗
  1318. ' ║ BOX SUBROUTINE  ║
  1319. ' ╚═════════════════╝
  1320. '
  1321. SUB box (ybox, xbox, boxrows, boxcols, style)
  1322. ' ybox is the screen row of the upper left corner of the box
  1323. ' xbox is the screen column of the upper left corner of the box
  1324. ' boxrows is the number of rows (must be > 1) for the box
  1325. ' boxcols is the number of cols (must be > 1) for the box
  1326. ' style = 1  single line              2 double line
  1327. '         3  double top,single side   4  double side, single top
  1328. '
  1329.    IF style = 0 THEN EXIT SUB
  1330.    SELECT CASE style
  1331.       CASE 1
  1332.          tl$ = "┌": tr$ = "┐": bl$ = "└": br$ = "┘": hl$ = "─": vl$ = "│"
  1333.       CASE 2
  1334.          tl$ = "╔": tr$ = "╗": bl$ = "╚": br$ = "╝": hl$ = "═": vl$ = "║"
  1335.       CASE 3
  1336.          tl$ = "╒": tr$ = "╕": bl$ = "╘": br$ = "╛": hl$ = "═": vl$ = "│"
  1337.       CASE 4
  1338.          tl$ = "╓": tr$ = "╖": bl$ = "╙": br$ = "╜": hl$ = "─": vl$ = "║"
  1339.       CASE ELSE
  1340.          CLS
  1341.          PRINT "SYNTAX ERROR IN box FUNCTION: Invalid style"
  1342.          SYSTEM
  1343.       END SELECT
  1344.    LOCATE ybox, xbox, 0
  1345.    PRINT tl$ + STRING$(boxcols - 2, hl$) + tr$;
  1346.    FOR i! = ybox + 1 TO ybox + boxrows - 2
  1347.       LOCATE i!, xbox
  1348.       PRINT vl$;
  1349.       LOCATE , xbox + boxcols - 1
  1350.       PRINT vl$;
  1351.       NEXT i!
  1352.    LOCATE ybox + boxrows - 1, xbox, 0
  1353.    PRINT bl$ + STRING$(boxcols - 2, hl$) + br$;
  1354. END SUB
  1355. '
  1356. ' ╔══════════════════════╗
  1357. ' ║ Line 17 Help Display ║
  1358. ' ╚══════════════════════╝
  1359. '
  1360. SUB Line17 (HelpText$)
  1361.    LOCATE 17,6
  1362.    PRINT SPACE$(67);
  1363.    IF LEN(HelpText$) > 67 THEN HelpText$ = LEFT$(HelpText$,67)
  1364.    LOCATE 17,40-INT((LEN(HelpText$)+1)/2)
  1365.    PRINT HelpText$;
  1366.    END SUB
  1367.